package com.vakitdaraliyor.www.servlet;

import java.io.IOException;

import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.vakitdaraliyor.www.dao.RoleDao;
import com.vakitdaraliyor.www.dao.UserDao;
import com.vakitdaraliyor.www.entity.Role;
import com.vakitdaraliyor.www.entity.User;

/**
 * Servlet implementation class RegisterServlet
 */
@WebServlet(description = "Kullanıcı Kayıt", urlPatterns = { "/Register" })
public class RegisterServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	@EJB
    private UserDao userDao;  
	
	private Role role;
	
	@EJB
	private RoleDao roleDao;
	
    public RegisterServlet() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		User user;
		String kayitHata="";
        String nameSurname = request.getParameter("nameSurname");
        String username = request.getParameter("username").trim();
        String password1 = request.getParameter("password1").trim();
        String password2 = request.getParameter("password2").trim();
        String email = request.getParameter("email").trim();
        role = roleDao.getRoleByRoleName("user");
        user = userDao.kullaniciGetirByKullaniciAdi(username);
        
        if(!nameSurname.isEmpty() && !username.isEmpty() && !password1.isEmpty() && !password2.isEmpty() &&
           !email.isEmpty()	&& nameSurname != null && username != null && password1 != null && password2 != null && email != null)
        {
        	if(user == null)
            {
            	if(password1.equals(password2))
            	{
            		user = new User(username, password1,nameSurname,email,role);
                    userDao.registerUser(user);
            	} 
            	else 
            	{
            		kayitHata = "Şifreler eşleşmiyor!";
            	}
            } 
            else
            {
            	kayitHata = "Bu kullanıcı adı zaten kullanılıyor!";
            }
        }
        else
        {
        	kayitHata = "Tüm alanlar doldurulmalıdır!";
        }
        	
       request.setAttribute("kayitHata", kayitHata);
       request.getRequestDispatcher("/countDown").forward(request, response);
	}

}
